package com.dragon.flow.service.base;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.flow.model.base.Category;
import com.dragon.tools.pager.PagerModel;
import com.dragon.tools.pager.Query;
import com.dragon.tools.vo.ReturnVo;

import java.util.List;

/**
 * @title: 分类查询
 * @author: bruce.liu
 * @since: 2024/6/19 21:48
 */
public interface FlowablePlusCategoryService extends IService<Category> {
    /**
     * 获取所有的分类
     * @return
     */
    List<Category> getCategories() ;
    void saveOrUpdateCategory(Category category);
    /**
     * 递归得到所有的子分类ids
     *
     * @param id  id
     * @param ids ids
     * @return
     */
    void getAllCategoryIds(String id, List<String> ids);

    Category getCategoryByCode(String code) ;
    /**
     * 获取分类列表
     * @param category 参数
     * @return
     */
    List<Category> getCategories(Category category);
    /**
     * 分页查询列表
     * @param category 条件
     * @param query 分页参数
     * @return
     */
    PagerModel<Category> getPagerModelByWrapper(Category category, Query query);

    /**
     * 删除实体
     *
     * @param ids 实体ids
     * @return
     */
    ReturnVo<String> deleteByIds(List<String> ids);
}
